package com.stylefeng.guns.modular.system.dao;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.stylefeng.guns.core.node.ZTreeNode;
import com.stylefeng.guns.modular.system.model.OrgcategoryRoleFunction;
import org.springframework.dao.DataAccessException;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author stylefeng
 * @since 2018-09-17
 */
public interface OrgcategoryRoleFunctionMapper extends BaseMapper<OrgcategoryRoleFunction> {
    /**
     * 获取菜单列表树
     *
     * @return
     * @date 2017年2月19日 下午1:33:51
     */
    List<ZTreeNode> menuTreeList();
    
    /**
     * 获取菜单列表树
     *
     * @return
     * @date 2017年2月19日 下午1:33:51
     */
    List<ZTreeNode> menuTreeListByMenuIds(List<Integer> menuIds);

    /** ****************************************sasazaixian@2018-10-04 start**************************************** **/
    /**
     * 查询机构分类角色功能
     * @param sorId 机构分类角色ID
     * @return
     * @throws Exception
     */
    List<OrgcategoryRoleFunction> selectListOrgcategoryRoleFunction(OrgcategoryRoleFunction  orgcategoryRoleFunction) throws DataAccessException;

    /**
     * 保存机构分类角色功能
     * @param orgcategoryRoleFunction 机构分类角色功能对象
     * @return
     * @throws Exception
     */
    int insertOrgcategoryRoleFunction(OrgcategoryRoleFunction orgcategoryRoleFunction)throws DataAccessException;

    /**
     * 保存机构分类角色功能
     * @param orgcategoryRoleFunction 机构分类角色功能对象
     * @return
     * @throws Exception
     */
    int updateOrgcategoryRoleFunction(OrgcategoryRoleFunction orgcategoryRoleFunction)throws DataAccessException;
    /**
     * 删除机构分类角色功能
     * @param orgcategoryRoleFunction 机构分类角色功能对象
     * @return
     * @throws Exception
     */
    int deleteOrgcategoryRoleFunction(OrgcategoryRoleFunction orgcategoryRoleFunction)throws DataAccessException;

    /**
     * 查询机构分类角色功能明细
     * @param sofId 机构分类角色功能ID
     * @return
     * @throws Exception
     */
    OrgcategoryRoleFunction findOrgcategoryRoleFunctionById(String  sofId)throws DataAccessException;
    /** ****************************************sasazaixian@2018-10-04  end**************************************** **/
}
